package com.lonely.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lonely.system.domain.entity.SysTag;
import com.lonely.system.domain.dto.tag.SysTagPageQueryDto;
import com.lonely.system.domain.dto.tag.SysTagSubmitDto;
import com.lonely.system.domain.vo.system.tag.SysTagPageQueryVo;
import com.lonely.system.domain.vo.system.tag.TagSelectVo;

import java.util.List;
import java.util.Map;

/**
 * @author: 黄志标
 * @date: 2025/5/27 11:36
 * @description: 客户列表接口
 */
public interface ISysTagService extends IService<SysTag> {

    /**
     * 分页查询
     *
     * @param queryDto
     * @return
     */
    Page<SysTagPageQueryVo> page(SysTagPageQueryDto queryDto);

    /**
     * 创建标签
     *
     * @param submitDto
     * @return
     */
    void create(SysTagSubmitDto submitDto);

    /**
     * 编辑标签
     *
     * @param submitDto
     */
    void edit(SysTagSubmitDto submitDto);

    /**
     * 启用标签
     *
     * @param id
     */
    void enabled(Long id);

    /**
     * 禁用标签
     *
     * @param id
     */
    void disable(Long id);

    /**
     * 获取标签下拉列表
     *
     * @return
     */
    List<TagSelectVo> getTagSelect();

    /**
     * 根据标签id获取标签名称映射
     *
     * @param tagIds
     * @return
     */
    Map<Long, String> getTagNameMapByTagIds(List<Long> tagIds);
}
